package com.ingenio.dao;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.ingenio.Adapter;
import com.ingenio.business.TipoPedido;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;

public class TipoPedidoAdapter extends Adapter{
	
	public TipoPedido devolverTipoPedido(Integer id) throws Exception{
    	Connection conn = null;
    	TipoPedido tp = null;
    	PreparedStatement stmt = null;
    	try {
    		conn = (Connection) abrirConexion();
    		String sel ="SELECT descTipoPedido FROM tipospedidos WHERE IdTipoPedido = ?";
    		stmt = (PreparedStatement) conn.prepareStatement(sel);
    		stmt.setInt(1, id);
    		
    		ResultSet result = stmt.executeQuery();
    		
    		if(result.next()){
    			String descTipoPedido = result.getString("descTipoPedido");
    			tp = new TipoPedido(id, descTipoPedido);
    		}
    	}
    	catch (Exception e) {
			e.printStackTrace();
			throw new Exception("Error al conectar con la base de datos.", e);
		}
    	finally{
    		cerrarConexion(conn);
    	}
		return tp;
    }
	
	public List<TipoPedido> devolverTodos() throws Exception{
    	Connection conn = null;
    	List<TipoPedido> tiposPedido = new ArrayList<TipoPedido>();
    	PreparedStatement stmt = null;
    	try {
    		conn = (Connection) abrirConexion();
    		String sel ="SELECT descTipoPedido FROM tipospedidos";
    		stmt = (PreparedStatement) conn.prepareStatement(sel);
    		ResultSet result = stmt.executeQuery();
    		TipoPedido tp = null;
    		while(result.next()){
    			Integer idTipoPedido = result.getInt("IdTipoPedido");
    			String descTipoPedido = result.getString("descTipoPedido");
    			tp = new TipoPedido(idTipoPedido, descTipoPedido);
    			tiposPedido.add(tp);
    		}
    	}
    	catch (Exception e) {
			e.printStackTrace();
			throw new Exception("Error al conectar con la base de datos.", e);
		}
    	finally{
    		cerrarConexion(conn);
    	}
		return tiposPedido;
    }
}
